# PnP Template
Applies a PnP provisioning template to a SharePoint site by processing rows from an Excel file.
Filename pattern: filename must contain PnpTemplate (case-insensitive).
Example: 20240115 PnpTemplate apply.xlsx
# Columns
| Name | Required | Description |
|---|---|---|
| ClientCode | No | Client code used together with MatterCode to identify the matter. |
| MatterCode | Conditional | Matter code used to resolve the site URL from the matter list. Required when Url is not provided. |
| Url / SiteUrl | Conditional | Server-relative URL of the SharePoint site to apply the template to. Required when MatterCode is not provided. |
| PnpTemplate / Template | Yes | File name or path of the PnP provisioning template (.xml) to apply. |
| Properties | No | Any additional columns are collected as properties and passed as token substitution values to the template. |
Either Url or MatterCode must be provided. PnpTemplate is always required.
# Behavior
The handler resolves the target site (from Url or MatterCode) and applies the specified PnP template using SPSite.ApplyPnPProvisioningTemplate. All additional columns (other than url, pnptemplate, template, siteurl) are passed as token substitution properties.
# Related links
- Site Collection handler — create or configure site collections
- Doclib Set handler — apply document library configuration